package actions.members;

import java.util.Map;

import veilingAware.UserAware;
import veilingDomein.User;
import veilingDomein.Veiling;
import veilingService.DBController;
import veilingService.IVeilingService;
import veilingService.ServiceProvider;

import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;

public class UpdateVeiling extends ActionSupport implements UserAware {
	private User user;
	private Veiling veiling;
	private String naam;
	private String beschrijving;
	private IVeilingService ivs = ServiceProvider.getVeilingService();
	
	@SuppressWarnings("rawtypes")
	private Map session;

	public User getUser() {
		return user;
	}

	public void setUser(User user) {
		this.user = user;
	}
	
	public IVeilingService getIvs() {
		return ivs;
	}

	public void setIvs(IVeilingService ivs) {
		this.ivs = ivs;
	}
	
	public void setNaam(String naam){
		this.naam = naam;
	}
	
	public void setBeschrijving(String beschrijving){
		this.beschrijving = beschrijving;
	}
	
	public String getNaam(String naam){
		return naam;
	}
	
	public String getBeschrijving(String beschrijving){
		return beschrijving;
	}
	
	public void setVeiling(Veiling veiling){
		this.veiling = veiling;
	}
	
	public void setVeilingId(int veilingid){
		this.veiling = ivs.getVeilingByID(veilingid);
	}
	
	public Veiling veiling(){
		return veiling;
	}
	DBController db = new DBController();
	
	public String execute(){
		session = ActionContext.getContext().getSession();
		try{
			System.out.println("naam: " + naam + " beschrijving: " + beschrijving);
			veiling.setBeschrijving(beschrijving);
			veiling.setNaam(naam);
			
			ivs.updateVeiling(veiling);
			System.out.println(veiling);
			
			return SUCCESS;
			
			
		}
		catch (Exception e){
			e.printStackTrace();
		}
		return INPUT;
		
	}
	
	public void validate(){
		naam = naam.trim();
		beschrijving = beschrijving.trim();
		
		if (naam.length() == 0) {
			addFieldError("naam", getText("Titel is verplicht."));
		}
		if (beschrijving.length() == 0) {
			addFieldError("beschrijving", getText("Beschrijving is verplicht."));
		}
		
	}
	
	
	@SuppressWarnings("rawtypes")
	public void setSession(Map session) {
		this.session = session;
	}
	
	@SuppressWarnings("rawtypes")
	public Map getSession() {
		return session;
	}

}
